package com.ctshk.rpc.bus.service;

import java.util.List;

import com.ctshk.common.dto.Result;
import com.ctshk.common.model.PageResponse;
import com.ctshk.common.model.TokenUser;
import com.ctshk.rpc.bus.dto.BusProductDetailDTO;
import com.ctshk.rpc.bus.dto.BusProductManagePageDTO;
import com.ctshk.rpc.bus.dto.BusProductStrategyDTO;
import com.ctshk.rpc.bus.req.BusProductDetailByStrategyReq;
import com.ctshk.rpc.bus.req.BusProductQueryReq;
import com.ctshk.rpc.bus.req.BusProductStrategyReq;
import com.ctshk.rpc.bus.req.BusProductStrategySaveBatchReq;

/**
 * <p>
 * 巴士产品加幅策略 服务类
 * </p>
 *
 * @author 彭柳霖
 * @since 2021-02-19
 */
public interface IBusProductStrategyService{


    /**
     * 产品中心-分页查询巴士产品列表
     * @param busProductPageReq
     * @return
     */
    Result<PageResponse<BusProductManagePageDTO>> queryList(BusProductQueryReq req, TokenUser tokenUser);


    /** 巴士上架设置 */
    Result save(Long busProductId, List<BusProductStrategyReq> busProductStrategyReqList, Long userId);


    /** 巴士产品批量加幅保存 */
    Result saveBatch(BusProductStrategySaveBatchReq busProductStrategySaveBatchReq, Long userId);

    /**
     * 根据产品id查询产品加幅详情信息
     * @param productId
     * @return
     */
    List<BusProductStrategyDTO> queryByProductId(Long productId);



    /**
     * 产品中心-查询详情
     * @param productId
     * @return
     */
    Result<BusProductDetailDTO> selectDetail(BusProductDetailByStrategyReq req);
}
